package com.zqxx.examine.management.persistence;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.zqxx.examine.common.utils.Page;
import com.zqxx.examine.model.exam.AnswerSheet;
import com.zqxx.examine.model.exam.Exam;
import com.zqxx.examine.model.exam.ExamHistory;

public abstract interface ExamMapper
{
  public abstract void addExam(Exam paramExam);
  
  public abstract void addUserExamHist(ExamHistory paramExamHistory);
  
  public abstract List<Exam> getExamList(@Param("array") int[] paramArrayOfInt, @Param("page") Page<Exam> paramPage);
  
  public abstract List<ExamHistory> getUserExamHistListByExamId(@Param("examId") int paramInt1, @Param("searchStr") String paramString1, @Param("order") String paramString2, @Param("limit") int paramInt2, @Param("page") Page<ExamHistory> paramPage);
  
  public abstract void deleteExamById(int paramInt);
  
  public abstract Exam getExamById(int paramInt);
  
  public abstract void changeExamStatus(@Param("examId") int paramInt1, @Param("approved") int paramInt2);
  
  public abstract void changeUserExamHistStatus(@Param("histId") int paramInt1, @Param("approved") int paramInt2);
  
  public abstract void updateUserExamHist(@Param("answerSheet") AnswerSheet paramAnswerSheet, @Param("answerSheetStr") String paramString, @Param("approved") int paramInt);
  
  public abstract ExamHistory getUserExamHistListByHistId(int paramInt);
  
  public abstract void deleteUserExamHist(int paramInt);
  
  public abstract void deleteUserExamHistByUserId(@Param("examId") int paramInt1, @Param("userId") int paramInt2);
  
  public abstract ExamHistory getUserExamHistByUserIdAndExamId(@Param("userId") int paramInt1, @Param("examId") int paramInt2, @Param("array") int[] paramArrayOfInt);
  
  public abstract List<ExamHistory> getUserExamHistList(@Param("array") int[] paramArrayOfInt, @Param("page") Page<ExamHistory> paramPage);
}

